// 使用ejs模板渲染表单页面，并提交数据存到数据库
const express = require("express");
const server = express();
const ejs = require("ejs");
const usersModel = require("./database/model/userModel");
server.set("views");
server.engine("html", ejs.renderFile);

// 中间件处理请求体数据
server.use(express.urlencoded({ extended: false }));

// 1 首页页面的渲染
server.get("/", (req, res) => {
  // 拿到数据库里面集合的内容
  usersModel.find((err, data) => {
    //    let data=data
    // console.log(data);
    res.render("index.html", { data });
  });
});

// 2 连接添加数据地址跳转的操作，添加user的渲染操作
server.get("/addUser", (req, res) => {
  res.render("insert.html");
});

// 3 添加数据的操作
server.post("/addUser", (req, res) => {
  let { name, age } = req.body;
  usersModel.create({ name, age }, (err, data) => {
    if (!err) {
      // res.send("添加成功");
      res.render("jump.html", { data: "添加" });
    }
  });
});

//4 点击删除的操作
server.get("/delete/:id", (req, res) => {
  let { id } = req.params;

  usersModel.deleteOne({ id }, (err, data) => {
    console.log(data);
    res.render("jump.html", { data: "删除" });
  });
});

// 5 点击修改部分修改对象
// server.get("/updata/:id", (req, res) => {
//   let { id } = req.query;
//   usersModel.findOne({ _id: id }, (err, data) => {
//     res.render("updata.html", { data });
//   });
// });

server.get("/updata", (req, res) => {
  let { id } = req.query;
  usersModel.findById({ _id: id }, (err, data) => {
    console.log(data,2222);
    res.render("updata.html", { data });
  });
});

//   6 修改之后提交给数据库
// server.post("/updata/:id", (req, res) => {
//   let { id } = req.params;
//   let { name, age } = req.body;
//   usersModel.updateOne(
//     { _id: id },
//     { name: name },
//     { age: age },
//     (err, data) => {
//       if (err) {
//         console.log(err);
//         return;
//       }
//       console.log(data);
//     }
//   );
//   res.send("修改成功");
// });

server.post("/updata", (req, res) => {
  let { _id, name, age } = req.body;
  // 修改
  usersModel.updateOne({ _id }, { name, age }, (err, data) => {
    if (err) return;
    res.render("jump.html", { data: "修改" });
  });
});

server.listen(80, () => {
  console.log("success");
});
